package entities.xml;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import com.thoughtworks.xstream.annotations.XStreamAlias;

import entities.ItemVenta;
import entities.Venta;

@SuppressWarnings("serial")
@XStreamAlias("Venta")
public class VentaXML implements Serializable, ExchangeFormatEntity{
	public VentaXML() {
		this.listaItemVenta = new ArrayList<ItemVentaXML>();
	}

	public VentaXML(ClienteXML cliente, List<ItemVentaXML> listaItemVenta) {
		super();
		this.cliente = cliente;
		this.listaItemVenta = listaItemVenta;
	}

	@XStreamAlias("Cliente")
	private ClienteXML cliente;
	
	@XStreamAlias("listaItemVenta")
	private List<ItemVentaXML> listaItemVenta;

	public List<ItemVentaXML> getListaItemVenta() {
		return listaItemVenta;
	}

	public void setListaItemVenta(List<ItemVentaXML> listaItemVenta) {
		this.listaItemVenta = listaItemVenta;
	}

	public ClienteXML getCliente() {
		return cliente;
	}

	public void setCliente(ClienteXML cliente) {
		this.cliente = cliente;
	}

	@Override
	public Object toModelEntity() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void fromModelEntity(Object obj) {
		Venta venta = (Venta) obj;
		List<ItemVenta> itemsVenta = venta.getItems();
		for(ItemVenta itemVenta : itemsVenta){
			ItemVentaXML itemVentaXML = new ItemVentaXML();
			itemVentaXML.fromModelEntity(itemVenta);
			this.listaItemVenta.add(itemVentaXML);
		}
		ClienteXML clienteXML = new ClienteXML(venta.getClienteId());
		this.setCliente(clienteXML);
	}
	
	

}
